﻿using System;
using System.Diagnostics;
using System.IO;
using Google.ProtocolBuffers;
using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.FieldAccess;

namespace com.gexin.rp.sdk.dto
{
	// Token: 0x02000017 RID: 23
	[DebuggerNonUserCode]
	public sealed class ServerNotify : GeneratedMessage<ServerNotify, ServerNotify.Builder>
	{
		// Token: 0x0600023F RID: 575 RVA: 0x00005A0B File Offset: 0x00003C0B
		private ServerNotify()
		{
		}

		// Token: 0x170000ED RID: 237
		// (get) Token: 0x06000240 RID: 576 RVA: 0x00005A3B File Offset: 0x00003C3B
		public static ServerNotify DefaultInstance
		{
			get
			{
				return ServerNotify.defaultInstance;
			}
		}

		// Token: 0x170000EE RID: 238
		// (get) Token: 0x06000241 RID: 577 RVA: 0x00005A42 File Offset: 0x00003C42
		public override ServerNotify DefaultInstanceForType
		{
			get
			{
				return ServerNotify.DefaultInstance;
			}
		}

		// Token: 0x170000EF RID: 239
		// (get) Token: 0x06000242 RID: 578 RVA: 0x00002579 File Offset: 0x00000779
		protected override ServerNotify ThisMessage
		{
			get
			{
				return this;
			}
		}

		// Token: 0x170000F0 RID: 240
		// (get) Token: 0x06000243 RID: 579 RVA: 0x00005A49 File Offset: 0x00003C49
		public static MessageDescriptor Descriptor
		{
			get
			{
				return GtReq.internal__static_com_gexin_rp_sdk_dto_ServerNotify__Descriptor;
			}
		}

		// Token: 0x170000F1 RID: 241
		// (get) Token: 0x06000244 RID: 580 RVA: 0x00005A50 File Offset: 0x00003C50
		protected override FieldAccessorTable<ServerNotify, ServerNotify.Builder> InternalFieldAccessors
		{
			get
			{
				return GtReq.internal__static_com_gexin_rp_sdk_dto_ServerNotify__FieldAccessorTable;
			}
		}

		// Token: 0x170000F2 RID: 242
		// (get) Token: 0x06000245 RID: 581 RVA: 0x00005A57 File Offset: 0x00003C57
		public bool HasType
		{
			get
			{
				return this.hasType;
			}
		}

		// Token: 0x170000F3 RID: 243
		// (get) Token: 0x06000246 RID: 582 RVA: 0x00005A5F File Offset: 0x00003C5F
		public ServerNotify.Types.NotifyType Type
		{
			get
			{
				return this.type_;
			}
		}

		// Token: 0x170000F4 RID: 244
		// (get) Token: 0x06000247 RID: 583 RVA: 0x00005A67 File Offset: 0x00003C67
		public bool HasInfo
		{
			get
			{
				return this.hasInfo;
			}
		}

		// Token: 0x170000F5 RID: 245
		// (get) Token: 0x06000248 RID: 584 RVA: 0x00005A6F File Offset: 0x00003C6F
		public string Info
		{
			get
			{
				return this.info_;
			}
		}

		// Token: 0x170000F6 RID: 246
		// (get) Token: 0x06000249 RID: 585 RVA: 0x00005A77 File Offset: 0x00003C77
		public bool HasExtradata
		{
			get
			{
				return this.hasExtradata;
			}
		}

		// Token: 0x170000F7 RID: 247
		// (get) Token: 0x0600024A RID: 586 RVA: 0x00005A7F File Offset: 0x00003C7F
		public ByteString Extradata
		{
			get
			{
				return this.extradata_;
			}
		}

		// Token: 0x170000F8 RID: 248
		// (get) Token: 0x0600024B RID: 587 RVA: 0x00005A87 File Offset: 0x00003C87
		public bool HasSeqId
		{
			get
			{
				return this.hasSeqId;
			}
		}

		// Token: 0x170000F9 RID: 249
		// (get) Token: 0x0600024C RID: 588 RVA: 0x00005A8F File Offset: 0x00003C8F
		public string SeqId
		{
			get
			{
				return this.seqId_;
			}
		}

		// Token: 0x170000FA RID: 250
		// (get) Token: 0x0600024D RID: 589 RVA: 0x00005A97 File Offset: 0x00003C97
		public override bool IsInitialized
		{
			get
			{
				return this.hasType;
			}
		}

		// Token: 0x0600024E RID: 590 RVA: 0x00005AA4 File Offset: 0x00003CA4
		public override void WriteTo(ICodedOutputStream output)
		{
			this.CalcSerializedSize();
			string[] serverNotifyFieldNames = ServerNotify._serverNotifyFieldNames;
			if (this.hasType)
			{
				output.WriteEnum(1, serverNotifyFieldNames[3], (int)this.Type, this.Type);
			}
			if (this.hasInfo)
			{
				output.WriteString(2, serverNotifyFieldNames[1], this.Info);
			}
			if (this.hasExtradata)
			{
				output.WriteBytes(3, serverNotifyFieldNames[0], this.Extradata);
			}
			if (this.hasSeqId)
			{
				output.WriteString(4, serverNotifyFieldNames[2], this.SeqId);
			}
			this.UnknownFields.WriteTo(output);
		}

		// Token: 0x170000FB RID: 251
		// (get) Token: 0x0600024F RID: 591 RVA: 0x00005B38 File Offset: 0x00003D38
		public override int SerializedSize
		{
			get
			{
				int num = this.memoizedSerializedSize;
				if (num != -1)
				{
					return num;
				}
				return this.CalcSerializedSize();
			}
		}

		// Token: 0x06000250 RID: 592 RVA: 0x00005B58 File Offset: 0x00003D58
		private int CalcSerializedSize()
		{
			int num = this.memoizedSerializedSize;
			if (num != -1)
			{
				return num;
			}
			num = 0;
			if (this.hasType)
			{
				num += CodedOutputStream.ComputeEnumSize(1, (int)this.Type);
			}
			if (this.hasInfo)
			{
				num += CodedOutputStream.ComputeStringSize(2, this.Info);
			}
			if (this.hasExtradata)
			{
				num += CodedOutputStream.ComputeBytesSize(3, this.Extradata);
			}
			if (this.hasSeqId)
			{
				num += CodedOutputStream.ComputeStringSize(4, this.SeqId);
			}
			num += this.UnknownFields.SerializedSize;
			this.memoizedSerializedSize = num;
			return num;
		}

		// Token: 0x06000251 RID: 593 RVA: 0x00005BE6 File Offset: 0x00003DE6
		public static ServerNotify ParseFrom(ByteString data)
		{
			return ServerNotify.CreateBuilder().MergeFrom(data).BuildParsed();
		}

		// Token: 0x06000252 RID: 594 RVA: 0x00005BF8 File Offset: 0x00003DF8
		public static ServerNotify ParseFrom(ByteString data, ExtensionRegistry extensionRegistry)
		{
			return ServerNotify.CreateBuilder().MergeFrom(data, extensionRegistry).BuildParsed();
		}

		// Token: 0x06000253 RID: 595 RVA: 0x00005C0B File Offset: 0x00003E0B
		public static ServerNotify ParseFrom(byte[] data)
		{
			return ServerNotify.CreateBuilder().MergeFrom(data).BuildParsed();
		}

		// Token: 0x06000254 RID: 596 RVA: 0x00005C1D File Offset: 0x00003E1D
		public static ServerNotify ParseFrom(byte[] data, ExtensionRegistry extensionRegistry)
		{
			return ServerNotify.CreateBuilder().MergeFrom(data, extensionRegistry).BuildParsed();
		}

		// Token: 0x06000255 RID: 597 RVA: 0x00005C30 File Offset: 0x00003E30
		public static ServerNotify ParseFrom(Stream input)
		{
			return ServerNotify.CreateBuilder().MergeFrom(input).BuildParsed();
		}

		// Token: 0x06000256 RID: 598 RVA: 0x00005C42 File Offset: 0x00003E42
		public static ServerNotify ParseFrom(Stream input, ExtensionRegistry extensionRegistry)
		{
			return ServerNotify.CreateBuilder().MergeFrom(input, extensionRegistry).BuildParsed();
		}

		// Token: 0x06000257 RID: 599 RVA: 0x00005C55 File Offset: 0x00003E55
		public static ServerNotify ParseDelimitedFrom(Stream input)
		{
			return ServerNotify.CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
		}

		// Token: 0x06000258 RID: 600 RVA: 0x00005C67 File Offset: 0x00003E67
		public static ServerNotify ParseDelimitedFrom(Stream input, ExtensionRegistry extensionRegistry)
		{
			return ServerNotify.CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
		}

		// Token: 0x06000259 RID: 601 RVA: 0x00005C7A File Offset: 0x00003E7A
		public static ServerNotify ParseFrom(ICodedInputStream input)
		{
			return ServerNotify.CreateBuilder().MergeFrom(input).BuildParsed();
		}

		// Token: 0x0600025A RID: 602 RVA: 0x00005C8C File Offset: 0x00003E8C
		public static ServerNotify ParseFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
		{
			return ServerNotify.CreateBuilder().MergeFrom(input, extensionRegistry).BuildParsed();
		}

		// Token: 0x0600025B RID: 603 RVA: 0x00002579 File Offset: 0x00000779
		private ServerNotify MakeReadOnly()
		{
			return this;
		}

		// Token: 0x0600025C RID: 604 RVA: 0x00005C9F File Offset: 0x00003E9F
		public static ServerNotify.Builder CreateBuilder()
		{
			return new ServerNotify.Builder();
		}

		// Token: 0x0600025D RID: 605 RVA: 0x00005CA6 File Offset: 0x00003EA6
		public override ServerNotify.Builder ToBuilder()
		{
			return ServerNotify.CreateBuilder(this);
		}

		// Token: 0x0600025E RID: 606 RVA: 0x00005C9F File Offset: 0x00003E9F
		public override ServerNotify.Builder CreateBuilderForType()
		{
			return new ServerNotify.Builder();
		}

		// Token: 0x0600025F RID: 607 RVA: 0x00005CAE File Offset: 0x00003EAE
		public static ServerNotify.Builder CreateBuilder(ServerNotify prototype)
		{
			return new ServerNotify.Builder(prototype);
		}

		// Token: 0x06000260 RID: 608 RVA: 0x00005CB8 File Offset: 0x00003EB8
		static ServerNotify()
		{
			FileDescriptor descriptor = GtReq.Descriptor;
		}

		// Token: 0x0400013A RID: 314
		private static readonly ServerNotify defaultInstance = new ServerNotify().MakeReadOnly();

		// Token: 0x0400013B RID: 315
		private static readonly string[] _serverNotifyFieldNames = new string[]
		{
			"extradata",
			"info",
			"seqId",
			"type"
		};

		// Token: 0x0400013C RID: 316
		private static readonly uint[] _serverNotifyFieldTags = new uint[]
		{
			26u,
			18u,
			34u,
			8u
		};

		// Token: 0x0400013D RID: 317
		public const int TypeFieldNumber = 1;

		// Token: 0x0400013E RID: 318
		private bool hasType;

		// Token: 0x0400013F RID: 319
		private ServerNotify.Types.NotifyType type_;

		// Token: 0x04000140 RID: 320
		public const int InfoFieldNumber = 2;

		// Token: 0x04000141 RID: 321
		private bool hasInfo;

		// Token: 0x04000142 RID: 322
		private string info_ = "";

		// Token: 0x04000143 RID: 323
		public const int ExtradataFieldNumber = 3;

		// Token: 0x04000144 RID: 324
		private bool hasExtradata;

		// Token: 0x04000145 RID: 325
		private ByteString extradata_ = ByteString.Empty;

		// Token: 0x04000146 RID: 326
		public const int SeqIdFieldNumber = 4;

		// Token: 0x04000147 RID: 327
		private bool hasSeqId;

		// Token: 0x04000148 RID: 328
		private string seqId_ = "";

		// Token: 0x04000149 RID: 329
		private int memoizedSerializedSize = -1;

		// Token: 0x02000063 RID: 99
		[DebuggerNonUserCode]
		public static class Types
		{
			// Token: 0x02000080 RID: 128
			public enum NotifyType
			{
				// Token: 0x04000395 RID: 917
				normal,
				// Token: 0x04000396 RID: 918
				serverListChanged,
				// Token: 0x04000397 RID: 919
				exception
			}
		}

		// Token: 0x02000064 RID: 100
		[DebuggerNonUserCode]
		public sealed class Builder : GeneratedBuilder<ServerNotify, ServerNotify.Builder>
		{
			// Token: 0x17000330 RID: 816
			// (get) Token: 0x060007ED RID: 2029 RVA: 0x00002579 File Offset: 0x00000779
			protected override ServerNotify.Builder ThisBuilder
			{
				get
				{
					return this;
				}
			}

			// Token: 0x060007EE RID: 2030 RVA: 0x00012C5A File Offset: 0x00010E5A
			public Builder()
			{
				this.result = ServerNotify.DefaultInstance;
				this.resultIsReadOnly = true;
			}

			// Token: 0x060007EF RID: 2031 RVA: 0x00012C74 File Offset: 0x00010E74
			internal Builder(ServerNotify cloneFrom)
			{
				this.result = cloneFrom;
				this.resultIsReadOnly = true;
			}

			// Token: 0x060007F0 RID: 2032 RVA: 0x00012C8C File Offset: 0x00010E8C
			private ServerNotify PrepareBuilder()
			{
				if (this.resultIsReadOnly)
				{
					ServerNotify other = this.result;
					this.result = new ServerNotify();
					this.resultIsReadOnly = false;
					this.MergeFrom(other);
				}
				return this.result;
			}

			// Token: 0x17000331 RID: 817
			// (get) Token: 0x060007F1 RID: 2033 RVA: 0x00012CC8 File Offset: 0x00010EC8
			public override bool IsInitialized
			{
				get
				{
					return this.result.IsInitialized;
				}
			}

			// Token: 0x17000332 RID: 818
			// (get) Token: 0x060007F2 RID: 2034 RVA: 0x00012CD5 File Offset: 0x00010ED5
			protected override ServerNotify MessageBeingBuilt
			{
				get
				{
					return this.PrepareBuilder();
				}
			}

			// Token: 0x060007F3 RID: 2035 RVA: 0x00012CDD File Offset: 0x00010EDD
			public override ServerNotify.Builder Clear()
			{
				this.result = ServerNotify.DefaultInstance;
				this.resultIsReadOnly = true;
				return this;
			}

			// Token: 0x060007F4 RID: 2036 RVA: 0x00012CF2 File Offset: 0x00010EF2
			public override ServerNotify.Builder Clone()
			{
				if (this.resultIsReadOnly)
				{
					return new ServerNotify.Builder(this.result);
				}
				return new ServerNotify.Builder().MergeFrom(this.result);
			}

			// Token: 0x17000333 RID: 819
			// (get) Token: 0x060007F5 RID: 2037 RVA: 0x00012D18 File Offset: 0x00010F18
			public override MessageDescriptor DescriptorForType
			{
				get
				{
					return ServerNotify.Descriptor;
				}
			}

			// Token: 0x17000334 RID: 820
			// (get) Token: 0x060007F6 RID: 2038 RVA: 0x00005A42 File Offset: 0x00003C42
			public override ServerNotify DefaultInstanceForType
			{
				get
				{
					return ServerNotify.DefaultInstance;
				}
			}

			// Token: 0x060007F7 RID: 2039 RVA: 0x00012D1F File Offset: 0x00010F1F
			public override ServerNotify BuildPartial()
			{
				if (this.resultIsReadOnly)
				{
					return this.result;
				}
				this.resultIsReadOnly = true;
				return this.result.MakeReadOnly();
			}

			// Token: 0x060007F8 RID: 2040 RVA: 0x00012D42 File Offset: 0x00010F42
			public override ServerNotify.Builder MergeFrom(IMessage other)
			{
				if (other is ServerNotify)
				{
					return this.MergeFrom((ServerNotify)other);
				}
				base.MergeFrom(other);
				return this;
			}

			// Token: 0x060007F9 RID: 2041 RVA: 0x00012D64 File Offset: 0x00010F64
			public override ServerNotify.Builder MergeFrom(ServerNotify other)
			{
				if (other == ServerNotify.DefaultInstance)
				{
					return this;
				}
				this.PrepareBuilder();
				if (other.HasType)
				{
					this.Type = other.Type;
				}
				if (other.HasInfo)
				{
					this.Info = other.Info;
				}
				if (other.HasExtradata)
				{
					this.Extradata = other.Extradata;
				}
				if (other.HasSeqId)
				{
					this.SeqId = other.SeqId;
				}
				this.MergeUnknownFields(other.UnknownFields);
				return this;
			}

			// Token: 0x060007FA RID: 2042 RVA: 0x00012DE0 File Offset: 0x00010FE0
			public override ServerNotify.Builder MergeFrom(ICodedInputStream input)
			{
				return this.MergeFrom(input, ExtensionRegistry.Empty);
			}

			// Token: 0x060007FB RID: 2043 RVA: 0x00012DF0 File Offset: 0x00010FF0
			public override ServerNotify.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
			{
				this.PrepareBuilder();
				UnknownFieldSet.Builder builder = null;
				uint num;
				string text;
				while (input.ReadTag(out num, out text))
				{
					if (num == 0u && text != null)
					{
						int num2 = Array.BinarySearch<string>(ServerNotify._serverNotifyFieldNames, text, StringComparer.Ordinal);
						if (num2 < 0)
						{
							if (builder == null)
							{
								builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
							}
							this.ParseUnknownField(input, builder, extensionRegistry, num, text);
							continue;
						}
						num = ServerNotify._serverNotifyFieldTags[num2];
					}
					if (num <= 8u)
					{
						if (num == 0u)
						{
							throw InvalidProtocolBufferException.InvalidTag();
						}
						if (num == 8u)
						{
							object obj;
							if (input.ReadEnum<ServerNotify.Types.NotifyType>(ref this.result.type_, out obj))
							{
								this.result.hasType = true;
								continue;
							}
							if (obj is int)
							{
								if (builder == null)
								{
									builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
								}
								builder.MergeVarintField(1, (ulong)((long)((int)obj)));
								continue;
							}
							continue;
						}
					}
					else
					{
						if (num == 18u)
						{
							this.result.hasInfo = input.ReadString(ref this.result.info_);
							continue;
						}
						if (num == 26u)
						{
							this.result.hasExtradata = input.ReadBytes(ref this.result.extradata_);
							continue;
						}
						if (num == 34u)
						{
							this.result.hasSeqId = input.ReadString(ref this.result.seqId_);
							continue;
						}
					}
					if (WireFormat.IsEndGroupTag(num))
					{
						if (builder != null)
						{
							this.UnknownFields = builder.Build();
						}
						return this;
					}
					if (builder == null)
					{
						builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
					}
					this.ParseUnknownField(input, builder, extensionRegistry, num, text);
				}
				if (builder != null)
				{
					this.UnknownFields = builder.Build();
				}
				return this;
			}

			// Token: 0x17000335 RID: 821
			// (get) Token: 0x060007FC RID: 2044 RVA: 0x00012F7D File Offset: 0x0001117D
			public bool HasType
			{
				get
				{
					return this.result.hasType;
				}
			}

			// Token: 0x17000336 RID: 822
			// (get) Token: 0x060007FD RID: 2045 RVA: 0x00012F8A File Offset: 0x0001118A
			// (set) Token: 0x060007FE RID: 2046 RVA: 0x00012F97 File Offset: 0x00011197
			public ServerNotify.Types.NotifyType Type
			{
				get
				{
					return this.result.Type;
				}
				set
				{
					this.SetType(value);
				}
			}

			// Token: 0x060007FF RID: 2047 RVA: 0x00012FA1 File Offset: 0x000111A1
			public ServerNotify.Builder SetType(ServerNotify.Types.NotifyType value)
			{
				this.PrepareBuilder();
				this.result.hasType = true;
				this.result.type_ = value;
				return this;
			}

			// Token: 0x06000800 RID: 2048 RVA: 0x00012FC3 File Offset: 0x000111C3
			public ServerNotify.Builder ClearType()
			{
				this.PrepareBuilder();
				this.result.hasType = false;
				this.result.type_ = ServerNotify.Types.NotifyType.normal;
				return this;
			}

			// Token: 0x17000337 RID: 823
			// (get) Token: 0x06000801 RID: 2049 RVA: 0x00012FE5 File Offset: 0x000111E5
			public bool HasInfo
			{
				get
				{
					return this.result.hasInfo;
				}
			}

			// Token: 0x17000338 RID: 824
			// (get) Token: 0x06000802 RID: 2050 RVA: 0x00012FF2 File Offset: 0x000111F2
			// (set) Token: 0x06000803 RID: 2051 RVA: 0x00012FFF File Offset: 0x000111FF
			public string Info
			{
				get
				{
					return this.result.Info;
				}
				set
				{
					this.SetInfo(value);
				}
			}

			// Token: 0x06000804 RID: 2052 RVA: 0x00013009 File Offset: 0x00011209
			public ServerNotify.Builder SetInfo(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasInfo = true;
				this.result.info_ = value;
				return this;
			}

			// Token: 0x06000805 RID: 2053 RVA: 0x00013036 File Offset: 0x00011236
			public ServerNotify.Builder ClearInfo()
			{
				this.PrepareBuilder();
				this.result.hasInfo = false;
				this.result.info_ = "";
				return this;
			}

			// Token: 0x17000339 RID: 825
			// (get) Token: 0x06000806 RID: 2054 RVA: 0x0001305C File Offset: 0x0001125C
			public bool HasExtradata
			{
				get
				{
					return this.result.hasExtradata;
				}
			}

			// Token: 0x1700033A RID: 826
			// (get) Token: 0x06000807 RID: 2055 RVA: 0x00013069 File Offset: 0x00011269
			// (set) Token: 0x06000808 RID: 2056 RVA: 0x00013076 File Offset: 0x00011276
			public ByteString Extradata
			{
				get
				{
					return this.result.Extradata;
				}
				set
				{
					this.SetExtradata(value);
				}
			}

			// Token: 0x06000809 RID: 2057 RVA: 0x00013080 File Offset: 0x00011280
			public ServerNotify.Builder SetExtradata(ByteString value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasExtradata = true;
				this.result.extradata_ = value;
				return this;
			}

			// Token: 0x0600080A RID: 2058 RVA: 0x000130AD File Offset: 0x000112AD
			public ServerNotify.Builder ClearExtradata()
			{
				this.PrepareBuilder();
				this.result.hasExtradata = false;
				this.result.extradata_ = ByteString.Empty;
				return this;
			}

			// Token: 0x1700033B RID: 827
			// (get) Token: 0x0600080B RID: 2059 RVA: 0x000130D3 File Offset: 0x000112D3
			public bool HasSeqId
			{
				get
				{
					return this.result.hasSeqId;
				}
			}

			// Token: 0x1700033C RID: 828
			// (get) Token: 0x0600080C RID: 2060 RVA: 0x000130E0 File Offset: 0x000112E0
			// (set) Token: 0x0600080D RID: 2061 RVA: 0x000130ED File Offset: 0x000112ED
			public string SeqId
			{
				get
				{
					return this.result.SeqId;
				}
				set
				{
					this.SetSeqId(value);
				}
			}

			// Token: 0x0600080E RID: 2062 RVA: 0x000130F7 File Offset: 0x000112F7
			public ServerNotify.Builder SetSeqId(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasSeqId = true;
				this.result.seqId_ = value;
				return this;
			}

			// Token: 0x0600080F RID: 2063 RVA: 0x00013124 File Offset: 0x00011324
			public ServerNotify.Builder ClearSeqId()
			{
				this.PrepareBuilder();
				this.result.hasSeqId = false;
				this.result.seqId_ = "";
				return this;
			}

			// Token: 0x0400035D RID: 861
			private bool resultIsReadOnly;

			// Token: 0x0400035E RID: 862
			private ServerNotify result;
		}
	}
}
